package com.CST.mapper.cst;

import com.CST.dto.DateDTO;
import com.CST.entity.EtlDepreciationDetail;
import com.CST.vo.DepreciationDetailVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author ly
 * @since 2022-04-22
 */
@Repository
public interface EtlDepreciationDetailMapper extends BaseMapper<EtlDepreciationDetail> {

    /**
     * 根据父级科室获取相应的折旧明细集合
     * 必要条件：时间+父级科室+类型
     * unitCode = ZC057为固定资产折旧
     * unitCode = ZC058为无形资产摊销
     */
    List<DepreciationDetailVO> listByPDeptCode(@Param("dateDTO") DateDTO dateDTO, @Param("pDeptCode") String pDeptCode, @Param("deptCode") String deptCode);

    /**
     * 获取全部明细
     * 必要条件：时间+类型
     * unitCode = ZC057为固定资产折旧
     * unitCode = ZC058为无形资产摊销
     */
    List<EtlDepreciationDetail> listByDate(DateDTO dateDTO);

    List<EtlDepreciationDetail> listByDateDetail(DateDTO dateDTO);

    /**
     * 根据时间删除冲抵数据
     * @param dateDTO
     */
    void deleteOffsetByDate(DateDTO dateDTO);
}
